System and method for collaborative hosting of applications, virtual machines, and data objects

ABSTRACT

To provide collaborative hosting of applications, the present invention first generates a virtual operating system image consisting of operating system code, application code, runtime code and supporting data repositories. The virtual operating system image may then be sent to and deploying on a physical computer or computer terminal at another location.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to the processing of dataprocessing jobs in data centers.

2. Background Description

Customer applications, and other work or tasks requiring significantresources, are frequently developed at a customer site, even thoughcustomer sites may be resource limited environments. Subsequently, afterdevelopment, the work may be submitted to a large data processing centerfor execution. Such work is sometimes referred to as “batch” work, but“batch” work may also refer to other large, distributed, orhigh-performance computing applications. Successful processing of thework in a large data center requires a runtime and hardware environmentcompatible with the development environment, regardless of whether thedevelopment was done at a customer site or at a site maintained by thedata center. Submitted work developed at a customer site or otheroff-site facility may fail and require significant, and costly,debugging at the large data processing center.

The underlying cause of such failure is commonly the circumstance thatthe various components of the application (e.g., code, runtimelibraries, data repositories) are individually deployed with the batchjob, or may be substituted by similar—but not identical—resources in theprocessing center. For example, runtime libraries of the developmentenvironment may be substituted by runtime libraries of the dataprocessing center which have subtle but consequential differences fromthose of the development environment.

A data center is a facility used for housing computers, communicationsequipment, and other hardware required to execute operating systems invirtual machines.

SUMMARY OF THE INVENTION

One solution is to bundle the application together with libraries andthe entire operating system environment in a virtual machine. A virtualmachine (VM) is a self-contained operating environment that behaves asif it is a separate computer. A VM executes on physical computerhardware which it may share with other VMs. Each VM runs in isolation asthough it was a normal operating system on a physical computer. The VMis unaware that the hardware platform is shared with other VMs. Multipleoperating systems may be simultaneously executed on a single computerwith each operating system executing in a separate virtual machine. Avirtual machine with its applications can be stopped at any time and itsstate saved to disk. A VM can be migrated to a different physicalplatform either while executing, or from its state save on disk.

Thus, the present invention provides for an application or businessprocess development to occur within one or more virtual operating system(VOS) images at a customer site, or other off-site developmentenvironment. The virtual development environment image (includingoperating system code, application, runtime code, and supporting datarepositories) may then be submitted to a large data processing center toenable the recreating of an application's development environment at thetime of execution.

An alternative scheme may create initial virtual machines (VMs) via aservice that creates operating system images close to what a customerrequires. A standardized operating system image may be sent to acustomer for additional customization, and then deployed to a physicalmachine at either the customer site or a hosting center site.

Migrating VM images offers advantages over the current methods of remotejob submission. One significant advantage is that submitted “jobs” donot have to be aware of the environment in which they will run. Thisapproach makes it possible to offer computing services that areindependent of the details of the environment. Furthermore, the bundlingof an entire operating system image ensures that the development andexecution environments are identical. Distributed applications areeasily submitted by shipping or transmitting the set of virtual images.

There are considerable advantages in managing an execution environmentat a hosting site where multiple customers are hosted.

Virtual images provide improved flexibility in scheduling overapplications. The scheduler can now work on virtual images in additionto individual tasks. A virtual image can be brought up on any physicalmachine, paused, saved to disk, or migrated to another physical platformin response to contention or increasing resource demands.

Submission of VOS images may be facilitated by using SAN mappings to mapthe storage from the remote site to the processing center. Hybrid formsof submission are also possible, such as the VOS image. The storagecontaining the database may be remapped using storage virtualizationtechnology, rather than being moved over the network.

The present invention thus provides a method, a system, and amachine-readable medium providing computer instructions forcollaborative hosting of applications, comprising the steps of: using acomputer to generate a virtual operating system image, said virtualoperating system image consisting of operating system code, applicationcode, runtime code, and/or supporting data repositories; sending saidvirtual operating system image and deploying said image at a physicalcomputer or computer terminal; and migrating said virtual machinebetween a hosting environment and said computer. The virtual operatingsystem image may be sent via a network, and the network may be theInternet. The hosting environment may be a data center, and themigrating step may include movement back and forth between said hostingenvironment and said computer.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages will be betterunderstood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

FIG. 1 shows a system for collaborative hosting of virtual machines anddata objects according to the present invention.

FIG. 2 shows a request for a set of virtual machines and applications.

FIG. 3 shows data center creating virtual machines, deployed and testedat the datacenter.

FIG. 4 shows virtual machines transferred to the customer site.

FIG. 5 shows customer customizing and executing virtual machines atcustomer site.

FIG. 6 shows virtual machines executed on customer and/or data centerphysical machines.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

Referring now to the drawings, and more particularly to FIG. 1, there isshown a system for collaborative hosting of virtual machines and dataobjects according to the present invention. The system might be used fortesting and developing specialized applications for a customer. A VM ata customer site is migrated to a hosting environment when the customeris satisfied with its integrity. The VM may later be moved back to thecustomer for customization and development. When an application spansmultiple VMs 110 a, 110 b, 110 c, 110 d, 110 e, 110 f, 110 g, 110 n, 110o, 110 p, 110 q, 110 r, 110 s, 110 t, such as a three-tier webtransaction system, an entire set of machines 120 a, 120 b which theapplication spans may be migrated to a hosting center 150. Details ofco-hosting process are shown on following figures.

Referring now to FIG. 2, there is shown a user 200 at a computerterminal 210 who is forwarding, via a network 220, a request to a datacenter 250 for virtual machines to be made available for use at acustomer premises 290. The data center 250 includes physical machines inthe form of servers 255 a, 255 b, 255 c, and the customer premises 290includes a physical machine in form of at least one workstation 295.

In FIG. 3, there is shown a datacenter 250, where required virtualmachines 355 a, 355 b, 355 c, 355 d are created and tested by deployingthem on the hardware 255 a, 255 b, 255 c of the datacenter 250, and thenexecuting and testing them.

FIG. 4 shows ready-to-run virtual machines 355 a, 355 b, 355 c, and 355d that have been transferred via a network 420 from a data center 250 toa customer premises 290, where the virtual machines are executed.

FIG. 5 shows a user 200 at a terminal 210 customizing virtual machines355 a, 355 b, 355 c, and 355 d and executing them on a physical machine295 at the customer premises 290.

Finally, FIG. 6 shows virtual machines 355 a, 355 b, 355 c, 355 d whichhave been executed both on a customer's physical machine 295 and ondatacenter physical machines 255 a, 255 b, 255 c and then transferredvia a network 420 between the customer premises 290 and datacenter 250as needed.

While the invention has been described in terms of a single preferredembodiment, those skilled in the art will recognize that the inventioncan be practiced with modification within the spirit and scope of theappended claims.

1. A method for collaborative hosting of applications, comprising thesteps of: using a computer to generate a virtual operating system image,said virtual operating system image comprising one or more of operatingsystem code, application code, runtime code, and supporting datarepositories; sending said virtual operating system image and deployingsaid image at a computer; and migrating a virtual machine between ahosting environment and said computer.
 2. The method of claim 1, whereinthe virtual operating system image is sent via a network.
 3. The methodof claim 2, wherein the network is the Internet.
 4. The method of claim1, wherein the hosting environment is a data center.
 5. The method ofclaim 1, wherein said migrating step includes a movement back and forthbetween said hosting environment and said computer.
 6. A system forcollaborative hosting of applications, comprising: a computer generatinga virtual operating system image, said virtual operating system imagecomprising one or more of operating system code, application code,runtime code, and supporting data repositories; a computer at which saidvirtual operating system image is deployed; and migrating a virtualmachine between a hosting environment and said computer.
 7. The systemof claim 6, wherein the virtual operating system image is sent via anetwork.
 8. The system of claim 7, wherein the network is the Internet.9. A machine-readable medium for collaborative hosting of applications,on which is provided: instructions for a computer to generate a virtualoperating system image, said image comprising one or more of operatingsystem code, application code, runtime code, and supporting datarepositories; instructions for deploying said virtual operating systemimage at a computer; and instructions for migrating a virtual machinebetween a hosting environment and said computer.
 10. Themachine-readable medium of claim 9, wherein the virtual operating systemimage is sent via a network.
 11. The machine-readable medium of claim10, wherein the network is the Internet.
 12. The machine-readable mediumof claim 9, wherein the hosting environment is a data center.
 13. Themachine-readable medium of claim 9, wherein said migrating step includesa movement back and forth between said hosting environment and saidcomputer.